[INFO] cloning repository https://github.com/Polari-Stars-MC/rigid-body
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Polari-Stars-MC/rigid-body" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPolari-Stars-MC%2Frigid-body", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPolari-Stars-MC%2Frigid-body'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5b8cb6da2c7140be3e24e3076e578809f2ff43f2
[INFO] checking Polari-Stars-MC/rigid-body against master#c290daa1e5274a52e54a0f49e31bd70192abc606 for pr-133502-23
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPolari-Stars-MC%2Frigid-body" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/Polari-Stars-MC/rigid-body
[INFO] finished tweaking git repo https://github.com/Polari-Stars-MC/rigid-body
[INFO] tweaked toml for git repo https://github.com/Polari-Stars-MC/rigid-body written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Polari-Stars-MC/rigid-body on toolchain c290daa1e5274a52e54a0f49e31bd70192abc606
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Polari-Stars-MC/rigid-body already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded simba v0.10.0
[INFO] [stderr]   Downloaded mimalloc v0.1.52
[INFO] [stderr]   Downloaded glamx v0.3.0
[INFO] [stderr]   Downloaded rstar v0.13.0
[INFO] [stderr]   Downloaded safe_arch v1.0.0
[INFO] [stderr]   Downloaded wide v1.5.0
[INFO] [stderr]   Downloaded rapier3d-f64 v0.33.0
[INFO] [stderr]   Downloaded cbindgen v0.29.4
[INFO] [stderr]   Downloaded heapless v0.9.3
[INFO] [stderr]   Downloaded nalgebra v0.35.0
[INFO] [stderr]   Downloaded spade v2.15.1
[INFO] [stderr]   Downloaded parry3d-f64 v0.28.0
[INFO] [stderr]   Downloaded libmimalloc-sys v0.1.49
[INFO] [stderr]   Downloaded wayland-protocols v0.32.13
[INFO] [stderr]   Downloaded glam v0.33.1
[INFO] [stderr]   Downloaded grid v0.13.0
[INFO] [stderr]   Downloaded taffy v0.4.4
[INFO] [stderr]   Downloaded simba v0.8.1
[INFO] [stderr]   Downloaded parry3d v0.13.8
[INFO] [stderr]   Downloaded nalgebra v0.32.6
[INFO] [stderr]   Downloaded coreaudio-sys v0.2.18
[INFO] [stderr]   Downloaded anvilkit v0.1.0
[INFO] [stderr]   Downloaded anvilkit-render v0.1.0
[INFO] [stderr]   Downloaded anvilkit-core v0.1.0
[INFO] [stderr]   Downloaded anvilkit-assets v0.1.0
[INFO] [stderr]   Downloaded anvilkit-input v0.1.0
[INFO] [stderr]   Downloaded anvilkit-audio v0.1.0
[INFO] [stderr]   Downloaded anvilkit-ecs v0.1.0
[INFO] [stderr]   Downloaded anvilkit-camera v0.1.0
[INFO] [stderr]   Downloaded rapier3d v0.18.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 458490927d1bb867109be273de96f8837c9caae4a7255ae853ac6043441fa143
[INFO] running `Command { std: "docker" "start" "458490927d1bb867109be273de96f8837c9caae4a7255ae853ac6043441fa143", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "458490927d1bb867109be273de96f8837c9caae4a7255ae853ac6043441fa143", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "458490927d1bb867109be273de96f8837c9caae4a7255ae853ac6043441fa143" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "458490927d1bb867109be273de96f8837c9caae4a7255ae853ac6043441fa143", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "458490927d1bb867109be273de96f8837c9caae4a7255ae853ac6043441fa143" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking libm v0.2.16
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking safe_arch v1.0.0
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.49
[INFO] [stderr]    Compiling jni-sys v0.3.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]     Checking crossbeam-utils v0.8.21
[INFO] [stderr]     Checking wide v1.5.0
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling cbindgen v0.29.4
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking glam v0.33.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking rstar v0.13.0
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking ena v0.14.4
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]     Checking ordered-float v5.3.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking downcast-rs v2.0.2
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Checking bytes v1.12.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking cesu8 v1.1.0
[INFO] [stderr]     Checking mimalloc v0.1.52
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]     Checking simba v0.10.0
[INFO] [stderr]    Compiling nalgebra-macros v0.3.0
[INFO] [stderr]    Compiling jni-sys-macros v0.4.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling profiling-procmacros v1.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]     Checking jni-sys v0.4.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking nalgebra v0.35.0
[INFO] [stderr]     Checking jni v0.21.1
[INFO] [stderr]    Compiling mps_rigid_body v0.1.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking glamx v0.3.0
[INFO] [stderr]     Checking parry3d-f64 v0.28.0
[INFO] [stderr]     Checking rapier3d-f64 v0.33.0
[INFO] [stdout] warning: unused import: `jdoublearray_to_array`
[INFO] [stdout]  --> src/abi/jni.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::helper::{jbytearray_to_array, jdoublearray_to_array};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AirDragLaw`, `CoulombFrictionLaw`, `CustomPhysicsReport`, `ExternalForceLaw`, and `NewtonGravityLaw`
[INFO] [stdout]   --> src/abi/jni.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     AirDragLaw, CoulombFrictionLaw, CustomPhysicsReport, ExternalForceLaw, NewtonGravityLaw,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AeroForceReport`, `AeroSurface`, `FluidForceReport`, `FluidVolume`, and `TrajectoryForceReport`
[INFO] [stdout]   --> src/abi/jni.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::rapier::ffi::{AeroForceReport, AeroSurface, FluidForceReport, FluidVolume, TrajectoryForceReport};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:620:22
[INFO] [stdout]     |
[INFO] [stdout] 620 |     if let Some(p) = (unsafe { out_gm.as_mut() }) { *p = body.gm; }
[INFO] [stdout]     |                      ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 620 -     if let Some(p) = (unsafe { out_gm.as_mut() }) { *p = body.gm; }
[INFO] [stdout] 620 +     if let Some(p) = unsafe { out_gm.as_mut() } { *p = body.gm; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:621:22
[INFO] [stdout]     |
[INFO] [stdout] 621 |     if let Some(p) = (unsafe { out_eq_radius.as_mut() }) { *p = body.equatorial_radius; }
[INFO] [stdout]     |                      ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 621 -     if let Some(p) = (unsafe { out_eq_radius.as_mut() }) { *p = body.equatorial_radius; }
[INFO] [stdout] 621 +     if let Some(p) = unsafe { out_eq_radius.as_mut() } { *p = body.equatorial_radius; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:622:22
[INFO] [stdout]     |
[INFO] [stdout] 622 |     if let Some(p) = (unsafe { out_flattening.as_mut() }) { *p = body.flattening; }
[INFO] [stdout]     |                      ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 622 -     if let Some(p) = (unsafe { out_flattening.as_mut() }) { *p = body.flattening; }
[INFO] [stdout] 622 +     if let Some(p) = unsafe { out_flattening.as_mut() } { *p = body.flattening; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:623:22
[INFO] [stdout]     |
[INFO] [stdout] 623 |     if let Some(p) = (unsafe { out_rotation_rate.as_mut() }) { *p = body.rotation_rate; }
[INFO] [stdout]     |                      ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 623 -     if let Some(p) = (unsafe { out_rotation_rate.as_mut() }) { *p = body.rotation_rate; }
[INFO] [stdout] 623 +     if let Some(p) = unsafe { out_rotation_rate.as_mut() } { *p = body.rotation_rate; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:624:22
[INFO] [stdout]     |
[INFO] [stdout] 624 |     if let Some(p) = (unsafe { out_j2_j6.as_mut() }) {
[INFO] [stdout]     |                      ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 624 -     if let Some(p) = (unsafe { out_j2_j6.as_mut() }) {
[INFO] [stdout] 624 +     if let Some(p) = unsafe { out_j2_j6.as_mut() } {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:629:22
[INFO] [stdout]     |
[INFO] [stdout] 629 |     if let Some(p) = (unsafe { out_max_degree.as_mut() }) { *p = body.max_degree; }
[INFO] [stdout]     |                      ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 629 -     if let Some(p) = (unsafe { out_max_degree.as_mut() }) { *p = body.max_degree; }
[INFO] [stdout] 629 +     if let Some(p) = unsafe { out_max_degree.as_mut() } { *p = body.max_degree; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:630:22
[INFO] [stdout]     |
[INFO] [stdout] 630 |     if let Some(p) = (unsafe { out_ref_radius.as_mut() }) { *p = body.ref_radius; }
[INFO] [stdout]     |                      ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 630 -     if let Some(p) = (unsafe { out_ref_radius.as_mut() }) { *p = body.ref_radius; }
[INFO] [stdout] 630 +     if let Some(p) = unsafe { out_ref_radius.as_mut() } { *p = body.ref_radius; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:631:22
[INFO] [stdout]     |
[INFO] [stdout] 631 |     if let Some(p) = (unsafe { out_surface_density.as_mut() }) { *p = body.surface_density; }
[INFO] [stdout]     |                      ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 631 -     if let Some(p) = (unsafe { out_surface_density.as_mut() }) { *p = body.surface_density; }
[INFO] [stdout] 631 +     if let Some(p) = unsafe { out_surface_density.as_mut() } { *p = body.surface_density; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:632:22
[INFO] [stdout]     |
[INFO] [stdout] 632 |     if let Some(p) = (unsafe { out_scale_height.as_mut() }) { *p = body.scale_height; }
[INFO] [stdout]     |                      ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 632 -     if let Some(p) = (unsafe { out_scale_height.as_mut() }) { *p = body.scale_height; }
[INFO] [stdout] 632 +     if let Some(p) = unsafe { out_scale_height.as_mut() } { *p = body.scale_height; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KahanVec3`
[INFO] [stdout]   --> src/rapier/gravitational_models.rs:31:37
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::rapier::math::{KahanSum, KahanVec3};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColliderSet` and `RigidBodySet`
[INFO] [stdout]    --> src/rapier/interaction.rs:496:25
[INFO] [stdout]     |
[INFO] [stdout] 496 | use rapier3d::prelude::{ColliderSet, NarrowPhase, RigidBodyHandle, RigidBodySet};
[INFO] [stdout]     |                         ^^^^^^^^^^^                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KahanSum`
[INFO] [stdout]   --> src/rapier/integrators.rs:42:27
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::rapier::math::{KahanSum, KahanVec3};
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/integrators.rs:539:24
[INFO] [stdout]     |
[INFO] [stdout] 539 |     if let Some(out) = (unsafe { accel_next_out.as_mut() }) {
[INFO] [stdout]     |                        ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 539 -     if let Some(out) = (unsafe { accel_next_out.as_mut() }) {
[INFO] [stdout] 539 +     if let Some(out) = unsafe { accel_next_out.as_mut() } {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rapier::ffi::Vec3`
[INFO] [stdout]    --> src/rapier/shared_arena.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | use crate::rapier::ffi::Vec3;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ERR_CAPACITY` and `ERR_UNSUPPORTED`
[INFO] [stdout]   --> src/rapier/terrain_gravity.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::rapier::error::{ERR_CAPACITY, ERR_INVALID_ARGUMENT, ERR_NULL_POINTER, ERR_NOT_FOUND,
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 16 |     ERR_UNSUPPORTED, clear_error, set_error};
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/world.rs:814:22
[INFO] [stdout]     |
[INFO] [stdout] 814 |     if let Some(p) = (unsafe { out_address.as_mut() }) { *p = addr; }
[INFO] [stdout]     |                      ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 814 -     if let Some(p) = (unsafe { out_address.as_mut() }) { *p = addr; }
[INFO] [stdout] 814 +     if let Some(p) = unsafe { out_address.as_mut() } { *p = addr; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/world.rs:815:22
[INFO] [stdout]     |
[INFO] [stdout] 815 |     if let Some(p) = (unsafe { out_size.as_mut() }) { *p = sz; }
[INFO] [stdout]     |                      ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 815 -     if let Some(p) = (unsafe { out_size.as_mut() }) { *p = sz; }
[INFO] [stdout] 815 +     if let Some(p) = unsafe { out_size.as_mut() } { *p = sz; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/world.rs:823:26
[INFO] [stdout]     |
[INFO] [stdout] 823 |     if let Some(world) = (unsafe { world.as_mut() }) {
[INFO] [stdout]     |                          ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 823 -     if let Some(world) = (unsafe { world.as_mut() }) {
[INFO] [stdout] 823 +     if let Some(world) = unsafe { world.as_mut() } {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jdoublearray_to_array`
[INFO] [stdout]  --> src/abi/jni.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::helper::{jbytearray_to_array, jdoublearray_to_array};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AirDragLaw`, `CoulombFrictionLaw`, `CustomPhysicsReport`, `ExternalForceLaw`, and `NewtonGravityLaw`
[INFO] [stdout]   --> src/abi/jni.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     AirDragLaw, CoulombFrictionLaw, CustomPhysicsReport, ExternalForceLaw, NewtonGravityLaw,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AeroForceReport`, `AeroSurface`, `FluidForceReport`, `FluidVolume`, and `TrajectoryForceReport`
[INFO] [stdout]   --> src/abi/jni.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::rapier::ffi::{AeroForceReport, AeroSurface, FluidForceReport, FluidVolume, TrajectoryForceReport};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:620:22
[INFO] [stdout]     |
[INFO] [stdout] 620 |     if let Some(p) = (unsafe { out_gm.as_mut() }) { *p = body.gm; }
[INFO] [stdout]     |                      ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 620 -     if let Some(p) = (unsafe { out_gm.as_mut() }) { *p = body.gm; }
[INFO] [stdout] 620 +     if let Some(p) = unsafe { out_gm.as_mut() } { *p = body.gm; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:621:22
[INFO] [stdout]     |
[INFO] [stdout] 621 |     if let Some(p) = (unsafe { out_eq_radius.as_mut() }) { *p = body.equatorial_radius; }
[INFO] [stdout]     |                      ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 621 -     if let Some(p) = (unsafe { out_eq_radius.as_mut() }) { *p = body.equatorial_radius; }
[INFO] [stdout] 621 +     if let Some(p) = unsafe { out_eq_radius.as_mut() } { *p = body.equatorial_radius; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:622:22
[INFO] [stdout]     |
[INFO] [stdout] 622 |     if let Some(p) = (unsafe { out_flattening.as_mut() }) { *p = body.flattening; }
[INFO] [stdout]     |                      ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 622 -     if let Some(p) = (unsafe { out_flattening.as_mut() }) { *p = body.flattening; }
[INFO] [stdout] 622 +     if let Some(p) = unsafe { out_flattening.as_mut() } { *p = body.flattening; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:623:22
[INFO] [stdout]     |
[INFO] [stdout] 623 |     if let Some(p) = (unsafe { out_rotation_rate.as_mut() }) { *p = body.rotation_rate; }
[INFO] [stdout]     |                      ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 623 -     if let Some(p) = (unsafe { out_rotation_rate.as_mut() }) { *p = body.rotation_rate; }
[INFO] [stdout] 623 +     if let Some(p) = unsafe { out_rotation_rate.as_mut() } { *p = body.rotation_rate; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:624:22
[INFO] [stdout]     |
[INFO] [stdout] 624 |     if let Some(p) = (unsafe { out_j2_j6.as_mut() }) {
[INFO] [stdout]     |                      ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 624 -     if let Some(p) = (unsafe { out_j2_j6.as_mut() }) {
[INFO] [stdout] 624 +     if let Some(p) = unsafe { out_j2_j6.as_mut() } {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:629:22
[INFO] [stdout]     |
[INFO] [stdout] 629 |     if let Some(p) = (unsafe { out_max_degree.as_mut() }) { *p = body.max_degree; }
[INFO] [stdout]     |                      ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 629 -     if let Some(p) = (unsafe { out_max_degree.as_mut() }) { *p = body.max_degree; }
[INFO] [stdout] 629 +     if let Some(p) = unsafe { out_max_degree.as_mut() } { *p = body.max_degree; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:630:22
[INFO] [stdout]     |
[INFO] [stdout] 630 |     if let Some(p) = (unsafe { out_ref_radius.as_mut() }) { *p = body.ref_radius; }
[INFO] [stdout]     |                      ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 630 -     if let Some(p) = (unsafe { out_ref_radius.as_mut() }) { *p = body.ref_radius; }
[INFO] [stdout] 630 +     if let Some(p) = unsafe { out_ref_radius.as_mut() } { *p = body.ref_radius; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:631:22
[INFO] [stdout]     |
[INFO] [stdout] 631 |     if let Some(p) = (unsafe { out_surface_density.as_mut() }) { *p = body.surface_density; }
[INFO] [stdout]     |                      ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 631 -     if let Some(p) = (unsafe { out_surface_density.as_mut() }) { *p = body.surface_density; }
[INFO] [stdout] 631 +     if let Some(p) = unsafe { out_surface_density.as_mut() } { *p = body.surface_density; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/celestial_data.rs:632:22
[INFO] [stdout]     |
[INFO] [stdout] 632 |     if let Some(p) = (unsafe { out_scale_height.as_mut() }) { *p = body.scale_height; }
[INFO] [stdout]     |                      ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 632 -     if let Some(p) = (unsafe { out_scale_height.as_mut() }) { *p = body.scale_height; }
[INFO] [stdout] 632 +     if let Some(p) = unsafe { out_scale_height.as_mut() } { *p = body.scale_height; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rapier::ffi::Vec3`
[INFO] [stdout]    --> src/rapier/forces.rs:642:9
[INFO] [stdout]     |
[INFO] [stdout] 642 |     use crate::rapier::ffi::Vec3;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KahanVec3`
[INFO] [stdout]   --> src/rapier/gravitational_models.rs:31:37
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::rapier::math::{KahanSum, KahanVec3};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColliderSet` and `RigidBodySet`
[INFO] [stdout]    --> src/rapier/interaction.rs:496:25
[INFO] [stdout]     |
[INFO] [stdout] 496 | use rapier3d::prelude::{ColliderSet, NarrowPhase, RigidBodyHandle, RigidBodySet};
[INFO] [stdout]     |                         ^^^^^^^^^^^                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KahanSum`
[INFO] [stdout]   --> src/rapier/integrators.rs:42:27
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::rapier::math::{KahanSum, KahanVec3};
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/integrators.rs:539:24
[INFO] [stdout]     |
[INFO] [stdout] 539 |     if let Some(out) = (unsafe { accel_next_out.as_mut() }) {
[INFO] [stdout]     |                        ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 539 -     if let Some(out) = (unsafe { accel_next_out.as_mut() }) {
[INFO] [stdout] 539 +     if let Some(out) = unsafe { accel_next_out.as_mut() } {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rapier::ffi::Vec3`
[INFO] [stdout]    --> src/rapier/shared_arena.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | use crate::rapier::ffi::Vec3;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ERR_CAPACITY` and `ERR_UNSUPPORTED`
[INFO] [stdout]   --> src/rapier/terrain_gravity.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::rapier::error::{ERR_CAPACITY, ERR_INVALID_ARGUMENT, ERR_NULL_POINTER, ERR_NOT_FOUND,
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 16 |     ERR_UNSUPPORTED, clear_error, set_error};
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/world.rs:814:22
[INFO] [stdout]     |
[INFO] [stdout] 814 |     if let Some(p) = (unsafe { out_address.as_mut() }) { *p = addr; }
[INFO] [stdout]     |                      ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 814 -     if let Some(p) = (unsafe { out_address.as_mut() }) { *p = addr; }
[INFO] [stdout] 814 +     if let Some(p) = unsafe { out_address.as_mut() } { *p = addr; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/world.rs:815:22
[INFO] [stdout]     |
[INFO] [stdout] 815 |     if let Some(p) = (unsafe { out_size.as_mut() }) { *p = sz; }
[INFO] [stdout]     |                      ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 815 -     if let Some(p) = (unsafe { out_size.as_mut() }) { *p = sz; }
[INFO] [stdout] 815 +     if let Some(p) = unsafe { out_size.as_mut() } { *p = sz; }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/rapier/world.rs:823:26
[INFO] [stdout]     |
[INFO] [stdout] 823 |     if let Some(world) = (unsafe { world.as_mut() }) {
[INFO] [stdout]     |                          ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 823 -     if let Some(world) = (unsafe { world.as_mut() }) {
[INFO] [stdout] 823 +     if let Some(world) = unsafe { world.as_mut() } {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm2_idx`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let nm2_idx = (n - 2) * (n - 1) / 2 + m;
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nm2_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cos_phi`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let cos_phi = (r_vec.x * r_vec.x + r_vec.y * r_vec.y).sqrt() / radius;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cos_phi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:348:9
[INFO] [stdout]     |
[INFO] [stdout] 348 |     let e = e2.sqrt();
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stdout]     |
[INFO] [stdout] 348 -     let e = e2.sqrt();
[INFO] [stdout] 348 +     let rapier::celestial_data::G = e2.sqrt();
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 348 |     let _e = e2.sqrt();
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cos_phi`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |     let cos_phi = rho / r;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cos_phi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r7`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let r7 = r5 * r2;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_dot_v_c2`
[INFO] [stdout]    --> src/rapier/integrators.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let r_dot_v_c2 = r_dot_v / (r * C2);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_dot_v_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor_1pn`
[INFO] [stdout]    --> src/rapier/integrators.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |     let factor_1pn = newtonian_mag * (
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor_1pn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_force_z`
[INFO] [stdout]    --> src/rapier/shared_arena.rs:494:45
[INFO] [stdout]     |
[INFO] [stdout] 494 |         max_force_x: f64, max_force_y: f64, max_force_z: f64,
[INFO] [stdout]     |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_force_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/rapier/shared_arena.rs:539:14
[INFO] [stdout]     |
[INFO] [stdout] 539 |         for (handle, body) in bodies.iter() {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `potential` is assigned to, but never used
[INFO] [stdout]   --> src/rapier/terrain_gravity.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut potential = 0.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_potential` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e12`
[INFO] [stdout]    --> src/rapier/terrain_gravity.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let e12 = v2 - v1;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_e12`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `potential` is never read
[INFO] [stdout]    --> src/rapier/terrain_gravity.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         potential += g_rho * (r0.dot(n_f.cross(r1)) * omega - h * h * omega);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jdoublearray_to_array` is never used
[INFO] [stdout]  --> src/helper/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn jdoublearray_to_array(env: &JNIEnv, data: jdoubleArray) -> Option<Vec<f64>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `direct_byte_buffer_as_slice_mut` is never used
[INFO] [stdout]   --> src/rapier/bridge.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn direct_byte_buffer_as_slice_mut(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_double_array_critical` is never used
[INFO] [stdout]    --> src/rapier/bridge.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn get_double_array_critical(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_byte_array_critical` is never used
[INFO] [stdout]    --> src/rapier/bridge.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn get_byte_array_critical(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G` is never used
[INFO] [stdout]   --> src/rapier/celestial_data.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const G: f64 = 6.67430e-11;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AU` is never used
[INFO] [stdout]   --> src/rapier/celestial_data.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const AU: f64 = 149_597_870_700.0;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C` is never used
[INFO] [stdout]   --> src/rapier/celestial_data.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const C: f64 = 299_792_458.0;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `solar_pressure_constant` are never read
[INFO] [stdout]   --> src/rapier/celestial_data.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct CelestialBody {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 40 |     /// Body name (e.g. "Earth")
[INFO] [stdout] 41 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub solar_pressure_constant: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CelestialBody` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `radius_at_latitude` and `centrifugal_potential` are never used
[INFO] [stdout]   --> src/rapier/celestial_data.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl CelestialBody {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn radius_at_latitude(&self, latitude: f64) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn centrifugal_potential(&self, rho: f64) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EARTH_POLAR_RADIUS` is never used
[INFO] [stdout]    --> src/rapier/celestial_data.rs:243:11
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub const EARTH_POLAR_RADIUS: f64 = 6_356_751.9;     // m
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_custom_external_forces_with_custom` is never used
[INFO] [stdout]    --> src/rapier/events.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn apply_custom_external_forces_with_custom(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Custom` is never constructed
[INFO] [stdout]    --> src/rapier/forces.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout]  62 | pub enum ForceLawType {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 116 |     Custom(u64),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForceLawType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/rapier/forces.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ForceLawType {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 120 |     /// Human-readable label for debug logging and reports.
[INFO] [stdout] 121 |     pub fn label(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add` is never used
[INFO] [stdout]    --> src/rapier/forces.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl ForceReport {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 179 |     pub fn add(&mut self, law_type: ForceLawType, force: rapier3d::prelude::Vector, body_count: u32) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `add_torque`, `add_force_at_point`, and `push_torque` are never used
[INFO] [stdout]    --> src/rapier/forces.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl<'a> ForceFacade<'a> {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn add_torque(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn add_force_at_point(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     pub fn push_torque(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clone_box` is never used
[INFO] [stdout]    --> src/rapier/forces.rs:479:8
[INFO] [stdout]     |
[INFO] [stdout] 463 | pub trait ForceLaw: Send + Sync {
[INFO] [stdout]     |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 479 |     fn clone_box(&self) -> Box<dyn ForceLaw>;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `get_mut` are never used
[INFO] [stdout]    --> src/rapier/forces.rs:568:12
[INFO] [stdout]     |
[INFO] [stdout] 511 | impl ForceRegistry {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 568 |     pub fn get(&self, handle: ForceLawHandle) -> Option<&dyn ForceLaw> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 575 |     pub fn get_mut(&mut self, handle: ForceLawHandle) -> Option<&mut (dyn ForceLaw + '_)> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `carlson_rf` is never used
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn carlson_rf(x: f64, y: f64, z: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `carlson_rd` is never used
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn carlson_rd(x: f64, y: f64, z: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quadrupole_from_j2` is never used
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:446:8
[INFO] [stdout]     |
[INFO] [stdout] 446 | pub fn quadrupole_from_j2(gm: f64, equatorial_radius: f64, j2: f64) -> [f64; 9] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G` is never used
[INFO] [stdout]   --> src/rapier/interaction.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const G: f64 = 6.67430e-11;
[INFO] [stdout]    |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_GRAVITY_DISTANCE` is never used
[INFO] [stdout]   --> src/rapier/interaction.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const MIN_GRAVITY_DISTANCE: f64 = 0.01;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pairwise_gravity` is never used
[INFO] [stdout]   --> src/rapier/interaction.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn pairwise_gravity(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_coulomb_friction_forces` is never used
[INFO] [stdout]    --> src/rapier/interaction.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub(crate) fn apply_coulomb_friction_forces(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `per_body_air_drag` is never used
[INFO] [stdout]    --> src/rapier/interaction.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub(crate) fn per_body_air_drag(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_body_interactions` is never used
[INFO] [stdout]    --> src/rapier/interaction.rs:300:15
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub(crate) fn apply_body_interactions(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `leapfrog_step` is never used
[INFO] [stdout]   --> src/rapier/integrators.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn leapfrog_step(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `leapfrog_step_kahan` is never used
[INFO] [stdout]   --> src/rapier/integrators.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn leapfrog_step_kahan(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `yoshida4_step` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn yoshida4_step(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `yoshida4_step_kahan` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn yoshida4_step_kahan(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forest_ruth8_step` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn forest_ruth8_step(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forest_ruth8_step_kahan` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn forest_ruth8_step_kahan(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adaptive_step_size` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:367:8
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn adaptive_step_size(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step_accepted` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn step_accepted(err: f64, tolerance: f64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `specific_angular_momentum` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:412:8
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn specific_angular_momentum(position: Vec3, velocity: Vec3) -> Vec3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_DIRTY_BODIES` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:155:7
[INFO] [stdout]     |
[INFO] [stdout] 155 | const FLAG_DIRTY_BODIES: u32 = 1 << 0;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_DIRTY_EVENTS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 | const FLAG_DIRTY_EVENTS: u32 = 1 << 1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_STEP_IN_PROGRESS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:157:7
[INFO] [stdout]     |
[INFO] [stdout] 157 | const FLAG_STEP_IN_PROGRESS: u32 = 1 << 2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_BODIES` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:168:7
[INFO] [stdout]     |
[INFO] [stdout] 168 | const DEFAULT_MAX_BODIES: u32 = 1024;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_COLLIDERS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:169:7
[INFO] [stdout]     |
[INFO] [stdout] 169 | const DEFAULT_MAX_COLLIDERS: u32 = 2048;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_EVENTS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:170:7
[INFO] [stdout]     |
[INFO] [stdout] 170 | const DEFAULT_MAX_EVENTS: u32 = 4096;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_COMMANDS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:171:7
[INFO] [stdout]     |
[INFO] [stdout] 171 | const DEFAULT_MAX_COMMANDS: u32 = 4096;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CommandType` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:179:10
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub enum CommandType {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `event_ring_offset` and `max_events` are never read
[INFO] [stdout]    --> src/rapier/shared_arena.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct SharedPhysicsArena {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 214 |     event_ring_offset: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     max_events: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl SharedPhysicsArena {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn as_ptr(&self) -> *const u8 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn header_u32(&self, offset: usize) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     fn header_u64(&self, offset: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     fn event_slot_ptr(&self, index: u32) -> *mut u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     pub fn push_collision_event(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn push_contact_force_event(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 581 |     pub fn set_flags(&self, flags: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 587 |     pub fn clear_flags(&self, flags: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PolyEdge` is never constructed
[INFO] [stdout]   --> src/rapier/terrain_gravity.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct PolyEdge {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ForceLawHandleRaw` is never used
[INFO] [stdout]    --> src/rapier/world.rs:639:10
[INFO] [stdout]     |
[INFO] [stdout] 639 | pub type ForceLawHandleRaw = u64;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:193:27
[INFO] [stdout]     |
[INFO] [stdout] 193 |             let c_nm = if c_idx >= 0 {
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:199:27
[INFO] [stdout]     |
[INFO] [stdout] 199 |             let s_nm = if c_idx >= 0 {
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm2_idx`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let nm2_idx = (n - 2) * (n - 1) / 2 + m;
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nm2_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cos_phi`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let cos_phi = (r_vec.x * r_vec.x + r_vec.y * r_vec.y).sqrt() / radius;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cos_phi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:348:9
[INFO] [stdout]     |
[INFO] [stdout] 348 |     let e = e2.sqrt();
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stdout]     |
[INFO] [stdout] 348 -     let e = e2.sqrt();
[INFO] [stdout] 348 +     let rapier::celestial_data::G = e2.sqrt();
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 348 |     let _e = e2.sqrt();
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cos_phi`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |     let cos_phi = rho / r;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cos_phi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r7`
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let r7 = r5 * r2;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/rapier/interaction.rs:794:13
[INFO] [stdout]     |
[INFO] [stdout] 794 |         let h = crate::rapier::rigid_body::world_insert_rigid_body(world, body);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h1`
[INFO] [stdout]    --> src/rapier/interaction.rs:847:14
[INFO] [stdout]     |
[INFO] [stdout] 847 |         let (h1, h2) = {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_h1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h2`
[INFO] [stdout]    --> src/rapier/interaction.rs:847:18
[INFO] [stdout]     |
[INFO] [stdout] 847 |         let (h1, h2) = {
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_h2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_dot_v_c2`
[INFO] [stdout]    --> src/rapier/integrators.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let r_dot_v_c2 = r_dot_v / (r * C2);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_dot_v_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor_1pn`
[INFO] [stdout]    --> src/rapier/integrators.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |     let factor_1pn = newtonian_mag * (
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor_1pn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_force_z`
[INFO] [stdout]    --> src/rapier/shared_arena.rs:494:45
[INFO] [stdout]     |
[INFO] [stdout] 494 |         max_force_x: f64, max_force_y: f64, max_force_z: f64,
[INFO] [stdout]     |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_force_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/rapier/shared_arena.rs:539:14
[INFO] [stdout]     |
[INFO] [stdout] 539 |         for (handle, body) in bodies.iter() {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `potential` is assigned to, but never used
[INFO] [stdout]   --> src/rapier/terrain_gravity.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut potential = 0.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_potential` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e12`
[INFO] [stdout]    --> src/rapier/terrain_gravity.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let e12 = v2 - v1;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_e12`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `potential` is never read
[INFO] [stdout]    --> src/rapier/terrain_gravity.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         potential += g_rho * (r0.dot(n_f.cross(r1)) * omega - h * h * omega);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jdoublearray_to_array` is never used
[INFO] [stdout]  --> src/helper/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn jdoublearray_to_array(env: &JNIEnv, data: jdoubleArray) -> Option<Vec<f64>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `direct_byte_buffer_as_slice_mut` is never used
[INFO] [stdout]   --> src/rapier/bridge.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn direct_byte_buffer_as_slice_mut(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_double_array_critical` is never used
[INFO] [stdout]    --> src/rapier/bridge.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn get_double_array_critical(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_byte_array_critical` is never used
[INFO] [stdout]    --> src/rapier/bridge.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn get_byte_array_critical(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AU` is never used
[INFO] [stdout]   --> src/rapier/celestial_data.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const AU: f64 = 149_597_870_700.0;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C` is never used
[INFO] [stdout]   --> src/rapier/celestial_data.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const C: f64 = 299_792_458.0;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `solar_pressure_constant` are never read
[INFO] [stdout]   --> src/rapier/celestial_data.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct CelestialBody {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 40 |     /// Body name (e.g. "Earth")
[INFO] [stdout] 41 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub solar_pressure_constant: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CelestialBody` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `radius_at_latitude` and `centrifugal_potential` are never used
[INFO] [stdout]   --> src/rapier/celestial_data.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl CelestialBody {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn radius_at_latitude(&self, latitude: f64) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn centrifugal_potential(&self, rho: f64) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EARTH_POLAR_RADIUS` is never used
[INFO] [stdout]    --> src/rapier/celestial_data.rs:243:11
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub const EARTH_POLAR_RADIUS: f64 = 6_356_751.9;     // m
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_custom_external_forces_with_custom` is never used
[INFO] [stdout]    --> src/rapier/events.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn apply_custom_external_forces_with_custom(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/rapier/forces.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ForceLawType {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 120 |     /// Human-readable label for debug logging and reports.
[INFO] [stdout] 121 |     pub fn label(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `add_torque`, `add_force_at_point`, and `push_torque` are never used
[INFO] [stdout]    --> src/rapier/forces.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl<'a> ForceFacade<'a> {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn add_torque(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn add_force_at_point(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     pub fn push_torque(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clone_box` is never used
[INFO] [stdout]    --> src/rapier/forces.rs:479:8
[INFO] [stdout]     |
[INFO] [stdout] 463 | pub trait ForceLaw: Send + Sync {
[INFO] [stdout]     |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 479 |     fn clone_box(&self) -> Box<dyn ForceLaw>;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_mut` is never used
[INFO] [stdout]    --> src/rapier/forces.rs:575:12
[INFO] [stdout]     |
[INFO] [stdout] 511 | impl ForceRegistry {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 575 |     pub fn get_mut(&mut self, handle: ForceLawHandle) -> Option<&mut (dyn ForceLaw + '_)> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `call_count` is never used
[INFO] [stdout]    --> src/rapier/forces.rs:659:12
[INFO] [stdout]     |
[INFO] [stdout] 651 |     impl TestLaw {
[INFO] [stdout]     |     ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 659 |         fn call_count(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `carlson_rd` is never used
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn carlson_rd(x: f64, y: f64, z: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_coulomb_friction_forces` is never used
[INFO] [stdout]    --> src/rapier/interaction.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub(crate) fn apply_coulomb_friction_forces(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_body_interactions` is never used
[INFO] [stdout]    --> src/rapier/interaction.rs:300:15
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub(crate) fn apply_body_interactions(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `leapfrog_step_kahan` is never used
[INFO] [stdout]   --> src/rapier/integrators.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn leapfrog_step_kahan(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `yoshida4_step_kahan` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn yoshida4_step_kahan(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forest_ruth8_step` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn forest_ruth8_step(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forest_ruth8_step_kahan` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn forest_ruth8_step_kahan(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step_accepted` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn step_accepted(err: f64, tolerance: f64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `specific_angular_momentum` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:412:8
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn specific_angular_momentum(position: Vec3, velocity: Vec3) -> Vec3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `const_accel` is never used
[INFO] [stdout]    --> src/rapier/integrators.rs:626:8
[INFO] [stdout]     |
[INFO] [stdout] 626 |     fn const_accel(_pos: Vec3) -> Vec3 { Vec3 { x: 0.0, y: -9.81, z: 0.0 } }
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_DIRTY_BODIES` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:155:7
[INFO] [stdout]     |
[INFO] [stdout] 155 | const FLAG_DIRTY_BODIES: u32 = 1 << 0;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_DIRTY_EVENTS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 | const FLAG_DIRTY_EVENTS: u32 = 1 << 1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAG_STEP_IN_PROGRESS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:157:7
[INFO] [stdout]     |
[INFO] [stdout] 157 | const FLAG_STEP_IN_PROGRESS: u32 = 1 << 2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_BODIES` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:168:7
[INFO] [stdout]     |
[INFO] [stdout] 168 | const DEFAULT_MAX_BODIES: u32 = 1024;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_COLLIDERS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:169:7
[INFO] [stdout]     |
[INFO] [stdout] 169 | const DEFAULT_MAX_COLLIDERS: u32 = 2048;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_EVENTS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:170:7
[INFO] [stdout]     |
[INFO] [stdout] 170 | const DEFAULT_MAX_EVENTS: u32 = 4096;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_COMMANDS` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:171:7
[INFO] [stdout]     |
[INFO] [stdout] 171 | const DEFAULT_MAX_COMMANDS: u32 = 4096;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CommandType` is never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:179:10
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub enum CommandType {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_contact_force_event`, `set_flags`, and `clear_flags` are never used
[INFO] [stdout]    --> src/rapier/shared_arena.rs:488:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl SharedPhysicsArena {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn push_contact_force_event(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 581 |     pub fn set_flags(&self, flags: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 587 |     pub fn clear_flags(&self, flags: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PolyEdge` is never constructed
[INFO] [stdout]   --> src/rapier/terrain_gravity.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct PolyEdge {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ForceLawHandleRaw` is never used
[INFO] [stdout]    --> src/rapier/world.rs:639:10
[INFO] [stdout]     |
[INFO] [stdout] 639 | pub type ForceLawHandleRaw = u64;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:193:27
[INFO] [stdout]     |
[INFO] [stdout] 193 |             let c_nm = if c_idx >= 0 {
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/rapier/gravitational_models.rs:199:27
[INFO] [stdout]     |
[INFO] [stdout] 199 |             let s_nm = if c_idx >= 0 {
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "458490927d1bb867109be273de96f8837c9caae4a7255ae853ac6043441fa143", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "458490927d1bb867109be273de96f8837c9caae4a7255ae853ac6043441fa143", kill_on_drop: false }`
[INFO] [stdout] 458490927d1bb867109be273de96f8837c9caae4a7255ae853ac6043441fa143
